﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PDX.ContextManagement
{
    /// <summary>
    /// Resolves property paths
    /// </summary>
    public interface IPropertyResolver
    {
        /// <summary>
        /// Yields an <see cref="IPropertyResolution"/> for the given
        /// data context and <see cref="Declaration"/>
        /// </summary>
        /// <param name="dataContext">The data context.</param>
        /// <param name="propertyDeclaration">The property declaration.</param>
        /// <returns></returns>
        IPropertyResolution Resolve(object dataContext, Declaration propertyDeclaration);
    }
}
